<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .big {
            width: 800px;
            height: 500px;
            background-color: #56a5f1;
            margin: auto;
            /* 超出部分 隐藏 */
            overflow: hidden;
            position: relative;
        }

        .shan div {
            background-color: green;
        }

        .shan1 {
            width: 400px;
            height: 400px;
            border-radius: 100px 0 0 0px;
            transform: rotate(45deg);
            position: absolute;
            bottom: -210px;
        }

        .shan2 {
            width: 100px;
            height: 400px;
            border-radius: 100px 0 0 0px;
            transform: rotate(45deg);
            position: absolute;
            bottom: -210px;
            left: 350px;
        }

        .shan3 {
            width: 300px;
            height: 255px;
            border-radius: 100px 0 0 0px;
            transform: rotate(45deg);
            position: absolute;
            bottom: -140px;
            right: -20px;
        }
        .cloud {
            animation: cloud_move 6s 6s infinite alternate;
            position: relative;
            /* z轴方向的数值，值越大越靠上，上面的元素会遮盖下方的元素，
            必须先设置定位才能使用z-index */
            z-index: 6;
        }
        @keyframes cloud_move {
            0% {
                left: 0;
            }
            50% {
                left: 300px;
            }
            100% {
                left: 400px;
            }
        }
        .cloud div {
            background-color: #fff;
        }
        .cloud1 {
            width: 200px;
            height: 100px;
            border-radius: 50%;
            position: absolute;
            top: 50px;
            left: 20px;
        }
        .cloud2 {
            width: 100px;
            height: 120px;
            border-radius: 50%;
            position: absolute;
            top: 20px;
            left: 60px;
        }
        .cloud3 {
            width: 150px;
            height: 140px;
            border-radius: 50%;
            position: absolute;
            top: 20px;
            left: 100px;
        }
        .cloud4 {
            width: 210px;
            height: 130px;
            border-radius: 50%;
            position: absolute;
            top: 23px;
            left: 150px;
        }
        .sun {
            width: 100px;
            height: 100px;
            border-radius: 50%;
            background-color: red;
            animation: sun_move 6s forwards;
            position: absolute;
            z-index: 5;
        }
        @keyframes sun_move {
            0% {
                top: 300px;
                left: -40px;
            }
            25% {
                top: 200px;
                left: 150px;
            }
            50% {
                top: 360px;
                left: 370px;
            }
            100% {
                top: 0px;
                left: 700px;
            }
        }
    </style>
</head>

<body>
    <div class="big">
        <div class="shan">
            <div class="shan1"></div>
            <div class="shan2"></div>
            <div class="shan3"></div>
        </div>
        <div class="cloud">
            <div class="cloud1"></div>
            <div class="cloud2"></div>
            <div class="cloud3"></div>
            <div class="cloud4"></div>
        </div>
        <div class="sun"></div>
    </div>
</body>

</html>